﻿/*
* ============================================================================
* GNU Lesser General Public License
* ============================================================================
*
* BYDAN - Free Java BYDAN library.
* Copyright (C) 2008 
* 
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* 
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details.
* 
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307, USA.
* 
* BYDAN Corporation
*/
package ByDan.AulaVirtual.Business.Entities;

import java.util.ArrayList;
import ByDan.Framework.AulaVirtual.Business.Entities.GeneralEntity;
import ByDan.Framework.AulaVirtual.Business.Entities.Mensajes;
import ByDan.Framework.AulaVirtual.Utils.ParameterDbType;
import ByDan.Framework.AulaVirtual.Utils.ParameterType;
import ByDan.Framework.AulaVirtual.Utils.ParametersMaintenance;
import ByDan.Framework.AulaVirtual.Utils.ParameterMaintenance;
import ByDan.Framework.AulaVirtual.Utils.ParameterValue;
import ByDan.Framework.AulaVirtual.Utils.ParametersType;
import java.sql.*;

public class UnidadCurricularTutorAlumnoPagina extends GeneralEntity
{
	static  String strTableName="UnidadCurricularTutorAlumnoPagina";
		
	public static String getStrTableName() 
	{
		return strTableName;
	}

	public static void setStrTableName(String strTableName) 
	{
		UnidadCurricularTutorAlumnoPagina.strTableName = strTableName;
	}
	
	public static String getColumnNameId()
	{
		return "id";
	}
	
	public UnidadCurricularTutorAlumnoPagina unidadcurriculartutoralumnopaginaOriginal;
	
	public UnidadCurricularTutorAlumnoPagina getUnidadCurricularTutorAlumnoPaginaOriginal()
	{
		return unidadcurriculartutoralumnopaginaOriginal;
	}
	
	public  void  setUnidadCurricularTutorAlumnoPaginaOriginal(UnidadCurricularTutorAlumnoPagina unidadcurriculartutoralumnopagina)
	{
		try
		{
			unidadcurriculartutoralumnopaginaOriginal=unidadcurriculartutoralumnopagina;
		}
		catch(Exception ex)
		{
			;
		}
	}
	
	
	
	
	UnidadCurricularTutorAlumno relationship_unidadcurriculartutoralumno;
	Pagina relationship_pagina;
	 
	
	public UnidadCurricularTutorAlumno getRelationship_UnidadCurricularTutorAlumno()
	{
		return relationship_unidadcurriculartutoralumno;
	}

	public Pagina getRelationship_Pagina()
	{
		return relationship_pagina;
	}

	
	
	public  void  setRelationship_UnidadCurricularTutorAlumno(UnidadCurricularTutorAlumno unidadcurriculartutoralumno)
	{
		try
		{
			relationship_unidadcurriculartutoralumno=unidadcurriculartutoralumno;
		}
		catch(Exception ex)
		{
			;
		}
	}


	public  void  setRelationship_Pagina(Pagina pagina)
	{
		try
		{
			relationship_pagina=pagina;
		}
		catch(Exception ex)
		{
			;
		}
	}


	
	
	
	
	
	
	
	private static Boolean blnDeleteCascade=false;
	private static String QueryInsert="insert into aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina set ISACTIVE=?,ISEXPIRED=?,VERSIONROW=CURRENT_TIMESTAMP,IDUNIDADCURRICULARTUTORALUMNO=?,IDPAGINA=?,FECHAHORAINGRESO=?,FECHAHORASALIDA=?";
	private static String QueryUpdate="update aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina set ISACTIVE=?,ISEXPIRED=?,VERSIONROW=CURRENT_TIMESTAMP,IDUNIDADCURRICULARTUTORALUMNO=?,IDPAGINA=?,FECHAHORAINGRESO=?,FECHAHORASALIDA=? where id=? AND versionRow=?";
	private static String QueryDelete="delete from aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina where id=?";
	public static String QuerySelect="select aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.id,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.isActive,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.isExpired,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.versionRow,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.IDUNIDADCURRICULARTUTORALUMNO,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.IDPAGINA,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.FECHAHORAINGRESO,aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina.FECHAHORASALIDA from aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina";
	 
	Long field_bigIdUnidadCurricularTutorAlumno;
	Long field_bigIdPagina;
	String field_strFechahoraingreso;
	String field_strFechahorasalida;
				
	public UnidadCurricularTutorAlumnoPagina ()
    {
		super();		
 		field_bigIdUnidadCurricularTutorAlumno=-1L;
 		field_bigIdPagina=-1L;
 		field_strFechahoraingreso=null;
 		field_strFechahorasalida=null;
		
		
		relationship_unidadcurriculartutoralumno=new UnidadCurricularTutorAlumno();
		relationship_pagina=new Pagina();
		
		
		
		super.setQueryInsert(QueryInsert);
		super.setQueryUpdate(QueryUpdate);
		super.setQueryDelete(QueryDelete);
		super.setQuerySelect(QuerySelect);
		
    } 
	
	public static Boolean getBlnDeleteCascade() 
	{
		return blnDeleteCascade;
	}

	public static void setBlnDeleteCascade(Boolean blnDeleteCascade) 
	{
		UnidadCurricularTutorAlumnoPagina.blnDeleteCascade = blnDeleteCascade;
	}
	
	public static String getTableName()
    {
         return "aulavirtualme_dbo.UnidadCurricularTutorAlumnoPagina";
    }
	
    
	public static String getColumnNameidUnidadCurricularTutorAlumno()
	{
		return "idUnidadCurricularTutorAlumno";
	}
    
	public static String getColumnNameidPagina()
	{
		return "idPagina";
	}
    
	public static String getColumnNameFechaHoraIngreso()
	{
		return "FechaHoraIngreso";
	}
    
	public static String getColumnNameFechaHoraSalida()
	{
		return "FechaHoraSalida";
	}
     
    
	public Long getField_bigIdUnidadCurricularTutorAlumno()
	{
		return field_bigIdUnidadCurricularTutorAlumno;
	}
    
	public Long getField_bigIdPagina()
	{
		return field_bigIdPagina;
	}
    
	public String getField_strFechahoraingreso()
	{
		return field_strFechahoraingreso;
	}
    
	public String getField_strFechahorasalida()
	{
		return field_strFechahorasalida;
	}
	
    
	public void setField_bigIdUnidadCurricularTutorAlumno(Long newField_bigIdUnidadCurricularTutorAlumno)throws Exception
	{
		try
		{
			if(this.field_bigIdUnidadCurricularTutorAlumno!=newField_bigIdUnidadCurricularTutorAlumno)
			{
				if(newField_bigIdUnidadCurricularTutorAlumno==null)
				{
					throw new Exception(this.getTableName()+":"+ Mensajes.getMensajeExcepcionValorNulo()+" en columna "+UnidadCurricularTutorAlumnoPagina.getColumnNameidUnidadCurricularTutorAlumno());
				}

				this.field_bigIdUnidadCurricularTutorAlumno=newField_bigIdUnidadCurricularTutorAlumno;
				this.setIsChanged(true);
			}
		}
		catch(Exception ex)
		{
			throw ex;
		}
	}
    
	public void setField_bigIdPagina(Long newField_bigIdPagina)throws Exception
	{
		try
		{
			if(this.field_bigIdPagina!=newField_bigIdPagina)
			{
				if(newField_bigIdPagina==null)
				{
					throw new Exception(this.getTableName()+":"+ Mensajes.getMensajeExcepcionValorNulo()+" en columna "+UnidadCurricularTutorAlumnoPagina.getColumnNameidPagina());
				}

				this.field_bigIdPagina=newField_bigIdPagina;
				this.setIsChanged(true);
			}
		}
		catch(Exception ex)
		{
			throw ex;
		}
	}
    
	public void setField_strFechahoraingreso(String newField_strFechahoraingreso)
	{
		if(this.field_strFechahoraingreso!=newField_strFechahoraingreso)
		{
			this.field_strFechahoraingreso=newField_strFechahoraingreso;
			this.setIsChanged(true);
		}
	}
    
	public void setField_strFechahorasalida(String newField_strFechahorasalida)
	{
		if(this.field_strFechahorasalida!=newField_strFechahorasalida)
		{
			this.field_strFechahorasalida=newField_strFechahorasalida;
			this.setIsChanged(true);
		}
	}
		
	public  void BuildParametersMaintenance(ParameterDbType newDbType,ParametersType parametersType) throws Exception
	{
		try
		{
			ParametersMaintenance parametersMaintenance=super.getParametersMaintenance();		
			ArrayList<ParameterMaintenance> parametersTemp=new ArrayList<ParameterMaintenance>();
			ParameterMaintenance parameterMaintenance;
			ParameterValue<Long> parameterMaintenanceValueId;
			
				if(!parametersType.equals(ParametersType.DELETE))
				{		
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(1);		
					parameterMaintenance.setParameterMaintenanceType(ParameterType.BOOLEAN);
					ParameterValue<Boolean> parameterMaintenanceValueIsactive=new ParameterValue<Boolean>();
					parameterMaintenanceValueIsactive.setValue(this.getIsActive());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueIsactive);
					parametersTemp.add(parameterMaintenance);
					
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(2);		
					parameterMaintenance.setParameterMaintenanceType(ParameterType.BOOLEAN);
					ParameterValue<Boolean> parameterMaintenanceValueIsexpired=new ParameterValue<Boolean>();
					parameterMaintenanceValueIsexpired.setValue(this.getIsExpired());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueIsexpired);
					parametersTemp.add(parameterMaintenance);
					
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(3);		
					parameterMaintenance.setParameterMaintenanceType(ParameterType.LONG);
					ParameterValue<Long> parameterMaintenanceValueIdUnidadCurricularTutorAlumno=new ParameterValue<Long>();
					parameterMaintenanceValueIdUnidadCurricularTutorAlumno.setValue(this.getField_bigIdUnidadCurricularTutorAlumno());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueIdUnidadCurricularTutorAlumno);
					parametersTemp.add(parameterMaintenance);
					
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(4);		
					parameterMaintenance.setParameterMaintenanceType(ParameterType.LONG);
					ParameterValue<Long> parameterMaintenanceValueIdPagina=new ParameterValue<Long>();
					parameterMaintenanceValueIdPagina.setValue(this.getField_bigIdPagina());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueIdPagina);
					parametersTemp.add(parameterMaintenance);
					
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(5);		
					parameterMaintenance.setParameterMaintenanceType(ParameterType.STRING);
					ParameterValue<String> parameterMaintenanceValueFechahoraingreso=new ParameterValue<String>();
					parameterMaintenanceValueFechahoraingreso.setValue(this.getField_strFechahoraingreso());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueFechahoraingreso);
					parametersTemp.add(parameterMaintenance);
					
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(6);		
					parameterMaintenance.setParameterMaintenanceType(ParameterType.STRING);
					ParameterValue<String> parameterMaintenanceValueFechahorasalida=new ParameterValue<String>();
					parameterMaintenanceValueFechahorasalida.setValue(this.getField_strFechahorasalida());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueFechahorasalida);
					parametersTemp.add(parameterMaintenance);
					
						if(parametersType.equals(ParametersType.UPDATE))
						{					
							parameterMaintenance=new ParameterMaintenance();
							parameterMaintenance.setOrder(7);
							parameterMaintenance.setParameterMaintenanceType(ParameterType.LONG);
							parameterMaintenanceValueId=new ParameterValue<Long>();
							parameterMaintenanceValueId.setValue(this.getId());
							parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueId);		
							parametersTemp.add(parameterMaintenance);
							
							parameterMaintenance=new ParameterMaintenance();
							parameterMaintenance.setOrder(8);
							parameterMaintenance.setParameterMaintenanceType(ParameterType.TIMESTAMP);
							ParameterValue<Timestamp> parameterMaintenanceValueVersionRow=new ParameterValue<Timestamp>();
							parameterMaintenanceValueVersionRow.setValue(this.getVersionRow());
							parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueVersionRow);		
							parametersTemp.add(parameterMaintenance);					
						}
				}
				else
				{
					parameterMaintenance=new ParameterMaintenance();
					parameterMaintenance.setOrder(1);
					parameterMaintenance.setParameterMaintenanceType(ParameterType.LONG);
					parameterMaintenanceValueId=new ParameterValue<Long>();
					parameterMaintenanceValueId.setValue(this.getId());
					parameterMaintenance.setParameterMaintenanceValue(parameterMaintenanceValueId);		
					parametersTemp.add(parameterMaintenance);
				}
			
			parametersMaintenance= new ParametersMaintenance();
			parametersMaintenance.setDbType(newDbType);
			parametersMaintenance.setParametersMaintenance(parametersTemp);
			super.setParametersMaintenance(parametersMaintenance);		
		}
		catch(Exception ex)
		{
			throw ex;
		}
	}
}
